#!/bin/bash

# Docker运行脚本
# 用于运行九霄云阙React应用的Docker容器

set -e

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# 配置变量
IMAGE_NAME="novemsite-react:latest"
CONTAINER_NAME="novemsite-react-container"
PORT="3000"

echo -e "${BLUE}🏃 启动九霄云阙React应用容器...${NC}"

# 检查Docker是否运行
if ! docker info > /dev/null 2>&1; then
    echo -e "${RED}❌ Docker未运行，请先启动Docker${NC}"
    exit 1
fi

# 检查镜像是否存在
if ! docker images | grep -q "novemsite-react"; then
    echo -e "${YELLOW}⚠️  镜像不存在，请先运行 docker-build.sh 构建镜像${NC}"
    exit 1
fi

# 停止并删除已存在的容器
if docker ps -a | grep -q $CONTAINER_NAME; then
    echo -e "${YELLOW}🛑 停止并删除已存在的容器...${NC}"
    docker stop $CONTAINER_NAME 2>/dev/null || true
    docker rm $CONTAINER_NAME 2>/dev/null || true
fi

# 运行容器
echo -e "${BLUE}🚀 启动新容器...${NC}"
docker run -d \
    --name $CONTAINER_NAME \
    -p $PORT:3000 \
    --restart unless-stopped \
    $IMAGE_NAME

if [ $? -eq 0 ]; then
    echo -e "${GREEN}✅ 容器启动成功！${NC}"
    echo -e "${BLUE}📊 容器信息:${NC}"
    docker ps | grep $CONTAINER_NAME
    echo
    echo -e "${GREEN}🌐 应用已启动，访问地址: http://localhost:$PORT${NC}"
    echo -e "${BLUE}📝 查看日志: docker logs $CONTAINER_NAME${NC}"
    echo -e "${BLUE}🛑 停止容器: docker stop $CONTAINER_NAME${NC}"
else
    echo -e "${RED}❌ 容器启动失败！${NC}"
    exit 1
fi
